package com.qf.dao;

import com.qf.pojo.User;

import java.sql.SQLException;
import java.util.List;

/**
 * @author Kuke
 * @date 2022/12/27 17:03
 * 针对用户的数据访问接口
 */
public interface UserDao {

    /**
     * 数据访问接口通过用户名查询用户
     * @param username 用户名昵称
     * @return 返回用户实体
     */
    User selectUserByUsername(String username) throws SQLException;

    /**
     * 数据访问接口添加用户
     * @param user  用户实体对象
     * @return 返回影响的行数
     */
    int insertUser(User user) throws SQLException;

    /**
     * 数据访问接口通过激活码查询指定用户
     * @param code 用户的激活码
     * @return 返回值查询到指定的用户
     */
    User selectUserByCode(String code) throws SQLException;

    /**
     * 数据访问接口修改用户的激活状态
     * @param user  指定的用户的
     * @return 返回影响行数
     */
    int updateUserState(User user) throws SQLException;

    /**
     * 通过用户名查询指定用户
     * @param username 用户名
     * @return 返回指定的用户实体
     */
    User selectUserByUserName(String username) throws SQLException;


}
